package com.demo.statemachine.d10;

import lombok.Getter;

@Getter
public enum SwapEvents {
    IDLE_BUSY("", "run"), BUSY_IDLE("", "stop"),
    BUSY_SUSPEND("", "suspend"), SUSPEND_BUSY("", "continue"),


//***************************** 故障 *************************************************************************************

    IDLE_FAULT("", ""), BUSY_FAULT("", ""), HISTORY_FAULT("", ""), SUSPEND_FAULT("", ""),

    DATA_FORK_FAULT("", ""), DATA_TASK_FAULT("", ""), DATA_JOIN_FAULT("", ""), DATA_CHOICE_FAULT("", ""),

    ENV_FORK_FAULT("", ""), ENV_TASK_FAULT("", ""), ENV_JOIN_FAULT("", ""), ENV_CHOICE_FAULT("", ""),

    PRESET_FORK_FAULT("", ""), PRESET_TASK_FAULT("", ""), PRESET_JOIN_FAULT("", ""), PRESET_CHOICE_FAULT("", ""),

    SWAP_FORK_FAULT("", ""), SWAP_TASK_FAULT("", ""), SWAP_JOIN_FAULT("", ""), SWAP_CHOICE_FAULT("", ""),

    AGAIN_SWAP_CHOICE_FAULT("", ""),

    END_FORK_FAULT("", ""), END_TASK_FAULT("", ""), END_JOIN_FAULT("", ""), END_CHOICE_FAULT("", ""),

    RESET_FORK_FAULT("", ""), RESET_TASK_FAULT("", ""), RESET_JOIN_FAULT("", ""), RESET_CHOICE_FAULT("", ""),


    //数据校验任务
    DATA_VEHICLE_PLATE_CHECK_FAULT("", "车牌校验"), DATA_CLOUD_AUTH_FAULT("", "云端认证"), DATA_VEHICLE_CONNECTION_FAULT("", "车辆链接"),

    DATA_V_IN_PLACE_FAULT("", "V槽到位"), DATA_VEHICLE_IN_PLACE_FAULT("", "车辆到位"), DATA_VEHICLE_FREEDOM_FAULT("", "车辆自由度"),

    DATA_SWAP_TYPE_CHOICE_FAULT("", "换电方式选择"), DATA_FEEL_SWAP_FAULT("", "有感换电"), DATA_NO_FEEL_SWAP_FAULT("", "无感换电"), DATA_SCAN_CODE_FAULT("", "扫码"),

    //环境准备任务
    ENV_FETCH_STRATEGY_FAULT("", "取电策略"),
    ENV_CAR_MACHINE_CONFIRM_FAULT("", "车机确认"),
    ENV_PLC_CONFIRM_FAULT("", "plc确认"),

    //预置任务
    PRESET_TASK1_FAULT("", "预置任务一"),

    //换电任务
    SWAP_START_FAULT("", "换电开始"), SWAP_UNINSTALL_FAULT("", "电池卸载"),
    SWAP_INSTALL_FAULT("", "电池安装"), SWAP_TRANSPORT_FAULT("", "电池运输"),
    SWAP_VEHICLE_SELF_CHECK_FAULT("", "车辆自检"), SWAP_FINISH_FAULT("", "换电完成"),

    //换电结束任务
    END_AFTER_ROAD_GATE_STARTUP_FAULT("", "后门道闸开启"), END_VEHICLE_OFF_PLACE_FAULT("", "车辆离位信号接收"),
    END_AFTER_ROAD_GATE_SHUTDOWN_FAULT("", "后门道闸关闭"), END_SWAP_END_FAULT("", "换电结束"),


    //复位任务
    RESET_CAR_MACHINE_FAULT("", "复位车机"),
    RESET_PLC_FAULT("", "复位PLC"),
    RESET_RBC_FAULT("", "复位站控"),

    ;


    private Integer index;
    private String name;
    private String comment;

    private SwapEvents() {

    }

    private SwapEvents(Integer index, String name, String comment) {
        this.index = index;
        this.name = name;
        this.comment = comment;
    }

    private SwapEvents(String name, String comment) {
        this.name = name;
        this.comment = comment;
    }

    private SwapEvents(String comment) {
        this.index = index;
        this.comment = comment;
    }
}
